package org.study.mybatisplus.dynamic.boot.model;

import lombok.*;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * IOT设备属性(IotDeviceProperty)表实体类
 *
 * @author doveylovey
 * @version v1.0.0
 * @email 1135782208@qq.com
 * @date 2024年10月08日
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IotDeviceProperty implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 设备ID
     */
    private Long deviceId;

    /**
     * 属性编号
     */
    private String propertyNo;

    /**
     * 属性名称
     */
    private String propertyName;

    /**
     * 属性类型，如：TIMESTAMP-时间戳、INT-整型、BIGINT-长整型、FLOAT-浮点型、DOUBLE-双精度浮点型、BINARY-单字节字符串型、NCHAR-多字节字符串型、BOOL-布尔型
     */
    private String propertyType;

    /**
     * 属性精度(BINARY、VARCHAR、NCHAR的长度)
     */
    private Integer propertyScale;

    /**
     * 属性单位，如：%、h、℃、kWh、Hz、Ω、V、A等
     */
    private String propertyUnit;

    /**
     * 属性配置：json格式
     */
    private String propertyConfig;

    /**
     * 属性存储表
     */
    private String propertyTable;

    /**
     * 租户号
     */
    private String tenantId;

    /**
     * 状态：1-正常
     */
    private Integer status;

    /**
     * 是否已删除：0-未删除、1-已删除
     */
    private Integer isDeleted;

    /**
     * 创建人ID
     */
    private Long createUserId;

    /**
     * 创建人名称
     */
    private String createUserName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改人ID
     */
    private Long updateUserId;

    /**
     * 修改人名称
     */
    private String updateUserName;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
}

